$(function() {

    $(document).ajaxStart(function () {
        NProgress.start();
    }).ajaxStop(function () {
        NProgress.done();
    })

    let size = 5;
    let page = 1;
    let idStr = 0;
    let count = 0;
    let flagName=1,flagPass=1;
    let showDta = new FormData();
    showDta.append("size", size);
    showDta.append("page", page);
    show("login/list.php", showDta);

    //查询方法
    function show(url, formData) {
        $.ajax({
            //请求方式
            type: "POST",
            //请求的媒体类型
            // contentType: "application/x-www-form-urlencoded",//文本
            processData: false,
            contentType: false,
            //请求地址
            url: url,
            //数据
            data: formData,
            // ifModified:true,//仅在服务器数据改变时获取新数据。默认值: false
            dataType: "json", //返回的数据类型
            //请求成功
            success: function(result) {
                if (result.code == 200) {
                    let dataObj = result.data;
                    count = dataObj.count;
                    let list = dataObj.list;

                    //先删除表格和页码
                    $("#pages").empty();
                    $("#tb").empty();

                    //创建列表
                    for (let i = 0; i < size; i++) {
                        if (i < list.length) {
                            $("#tb").append($("<tr></tr>"));
                            for (let key in list[i]) {
                                $("<td>" + list[i][key] + "</td>").appendTo($("#tb>tr:last"));
                            }
                            $("<td><button class='change'>修改</button><button class='del'>删除</button></td>").appendTo($("#tb>tr:last"));
                        }
                    }
                    //创建页码
                    for (let i = 1; i <= Math.ceil(count / size); i++) {
                        $("<button>" + i + "</button>").appendTo($("#pages"))
                    }
                } else {
                    alert(result.msg);
                }

            },
            error: function(result) {
                alert(result.msg);
                alert(result.msg);
            }
        });
    }

    //左边按钮点击事件
    $("#left").click(function() {
        if (page <= 1) {
            page = 1;
            return;
        }
        page--;
        showDta.set("page", page);
        show("login/list.php", showDta);
    });

    //右边按钮点击事件
    $("#right").click(function() {
        if (page >= Math.ceil(count / size)) {
            page = Math.ceil(count / size);
            return;
        }
        page++;
        // paeStr = "size=" + size + "&page=" + page;
        showDta.set("page", page);
        show("login/list.php", showDta);
    });

    //页码点击事件
    $("#pages").on("click","button",function() {
        showDta.set("page", $(this).text());
        show("login/list.php", showDta);
    });

    //修改点击事件
    $("#tb").on("click", ".change", function() {
        $("#change").show();
        $("#mask").show();
        idStr = $(this).parents("tr").children().first().text();
        let getData = new FormData();
        getData.append("id", idStr);
        $.ajax({
            //请求方式
            type: "POST",
            //请求的媒体类型
            // contentType: "application/x-www-form-urlencoded",//文本
            processData: false,
            contentType: false,
            //请求地址
            url: "login/get.php",
            //数据
            data: getData,
            // ifModified:true,//仅在服务器数据改变时获取新数据。默认值: false
            dataType: "json", //返回的数据类型
            //请求成功
            success: function(result) {
                if (result.code == 200) {
                    $("#changeName").val(result.data.name);
                    $("#changeNum").val(result.data.password);
                } else {
                    alert(result.msg);
                }
            },
            error: function(result) {
                alert(result.msg);
                alert(result.msg);
            }
        });
    });

    //确认修改事件
    $("#changeMess").click(function() {
        if(flagName===0){
            $("input[name='courseName']").next().css("color","red");
            return;
        }else{
            $("input[name='courseName']").next().css("color","black");
        }
        if(flagPass===0){
            $("input[name='courseNo']").next().css("color","red");
            return;
        }else{
            $("input[name='courseNo']").next().css("color","black");
        }
        let changeData = new FormData();
        changeData.append("id", idStr);
        changeData.append("name", $("#changeName").val());
        changeData.append("password", $("#changeNum").val());
        $.ajax({
            //请求方式
            type: "POST",
            //请求的媒体类型
            // contentType: "application/x-www-form-urlencoded",//文本
            processData: false,
            contentType: false,
            //请求地址
            url: "login/update.php",
            //数据
            data: changeData,
            // ifModified:true,//仅在服务器数据改变时获取新数据。默认值: false
            dataType: "json", //返回的数据类型
            //请求成功
            success: function(result) {
                if (result.code == 200) {

                    // if ($("td .content").text()) {
                    //     alert("有非法输入");
                    //     return;
                    // }
                    $("#change").hide();
                    $("#mask").hide();
                    alert("修改成功");
                    show("login/list.php", showDta);
                } else {
                    alert(result.msg);
                }
            },
            error: function(e) {
                console.log(e.status);
                console.log(e.responseText);
            }
        });


    })

    //删除点击事件
    $("#tb").on("click", ".del", function() {
        let queryStr = +$(this).parents("tr").children().first().text();
        let delData = new FormData();
        delData.append("id", queryStr);
        $(this).parent().parent().remove();
        $.ajax({
            //请求方式
            type: "POST",
            //请求的媒体类型
            // contentType: "application/x-www-form-urlencoded",//文本
            processData: false,
            contentType: false,
            //请求地址
            url: "login/delete.php",
            //数据
            data: delData,
            dataType: "json", //返回的数据类型
            //请求成功
            success: function(result) {
                if (result.code == 200) {
                    alert("删除成功");
                    show("login/list.php", showDta);
                } else {
                    alert(result.msg);
                }

            },
            //请求失败，包含具体的错误信息
            error: function(e) {
                console.log(e.status);
                console.log(e.responseText);
            }
        });



    });

    //关闭新增窗口事件
    $("#closeTab").on("click",function () {
        $("#addTable").hide();
        $("#mask").hide();
    });

    $("#closeChange").on("click",function () {
        $("#change").hide();
        $("#mask").hide();
    });
    //新增事件
    $("#add").click(function() {
        $("#addTable").show();
        $("#mask").show();

    });

    //添加事件
    $("#addMess").click(function() {
        if(flagName===0){
            $("input[name='courseName']").next().css("color","red");
            return;
        }else{
            $("input[name='courseName']").next().css("color","black");
        }
        if( flagPass===0){
            $("input[name='courseNo']").next().css("color","red");
            return;
        }else{
            $("input[name='courseNo']").next().css("color","black");
        }
        let addData = new FormData();
        addData.append("name", $("#name").val());
        addData.append("password", $("#num").val());

        $.ajax({
            //请求方式
            type: "POST",
            //请求的媒体类型
            // contentType: "application/x-www-form-urlencoded",//文本
            processData: false,
            contentType: false,
            //请求地址
            url: "login/add.php",
            //数据
            data: addData,
            // ifModified:true,//仅在服务器数据改变时获取新数据。默认值: false
            dataType: "json", //返回的数据类型
            //请求成功
            success: function(result) {
                if (result.code == 200) {

                    $("#addTable").hide();
                    $("#mask").hide();
                    alert("添加成功");
                    show("login/list.php", showDta);

                } else {
                    alert(result.msg);
                }

            },
            error: function(e) {
                console.log(e.status);
                console.log(e.responseText);
            }
        });

    });

    //刷新事件
    $("#refresh").click(function() {
        show("login/list.php", showDta);
    });

    //名字输入框键盘事件
    $("input[name='courseName']").change(function() {
        judgeName($(this));
    }).blur(function() {
        judgeName($(this));
    });

    //编码输入框键盘事件
    $("input[name='courseNo']").change(function() {
        judgePW($(this),);
    }).blur(function() {
        judgePW($(this));
    });

    function judgePW(obj) {
        obj.next().text("");
        if (!obj.val() || /\s/.test(obj.val())) {
            obj.next().text("内容不能为空或者有空格");
            flagPass=0;
        }else if(obj.val().length>12){
            obj.next().text("密码长度不能大于12个字符");
            flagPass=0;
        }else if(obj.val().length<6) {
            obj.next().text("密码长度不能小于6个字符");
            flagPass=0;
        }
        else {
            $(this).next().text("");
            flagPass=1;
        }
    }


    function judgeName(obj) {
       obj.next().text("");
        if ((!obj.val()) || /\s/.test(obj.val())) {
            obj.next().text("内容不能为空或有空格");
            flagName=0;
        }else if(obj.val().length>20){
            obj.next().text("长度不能超过20个字符");
            flagName=0;
        }
        else {
            obj.next().text("");
            flagName=1;
        }
    }
    
    function promptEffect() {

    }

});

